首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏五分钟学K8S

    五分钟学SRE系列 - 深入浅出docker端口映射存储

    Docker 端口映射原理    Docker 利用 iptables 来实现端口映射,使得容器内的服务能够通过宿主机的公共端口外界通信。 ▌常见写法案例分析基本端口映射docker container run -d -p 88:80 nginx:1.20.1在这个命令中,我们将宿主机的 88 端口映射到容器内部的 80 端口,使得任何访问宿主机 存储     在 Docker 的世界里,容器是短暂的,而数据需要持久化。Docker 数据作为解决这一矛盾的关键技术,允许用户将数据持久化存储,并在容器间共享数据。 数据的备份迁移数据的备份迁移是 Docker 数据管理中的重要部分。由于数据独立于容器的生命周期,它们为数据的备份和迁移提供了便利。 小结  Docker端口映射存储是构建和运行容器化应用的关键特性。端口映射允许外部访问容器内部的服务,而存储提供了数据持久化和共享的解决方案。

    88320编辑于 2024-05-10
  • 来自专栏Linux云运维

    Docker存储

    Docker存储 1、COW机制 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。 而要想绕过这种限制,我们可以通过使用存储的机制来实现。 2、什么是存储 存储就是将宿主机的本地文件系统中存在的某个目录直接容器内部的文件系统上的某一目录建立绑定关系。 在宿主机上的这个容器形成绑定关系的目录被称作存储Docker存储默认情况下是使用其所在的宿主机上的本地文件系统目录的,也就是说宿主机上有一块属于自己的硬盘,这个硬盘并没有共享给其他的Docker主机,而在这台主机上启动的容器所使用的存储是关联到此宿主机硬盘上的某个目录之上 ,是由容器引擎daemon自行创建一个空的目录,或者使用一个已经存在的目录,存储建立存储关系,这种方式极大解脱用户在使用时的耦合关系,缺陷是用户无法指定那些使用目录,临时存储比较适合; 7、

    1.2K20编辑于 2022-08-23
  • 来自专栏sktj

    Docker技术入门实战(数据端口映射、Dockerfile)

    1、数据的作用 image.png 查看数据 docker volume ls docker volume inspect xxx 清理无用、删除 docker volume prune docker volume rm xx 创建/var/lib/docker/volumes docker volume create -d local test 挂载数据 docker run -d -name centos /bin/bash 多个-v,挂载多个数据 数据容器,容器间数据共享 docker run -it -v /dbdata:/dbdata --name dbdata centos centos 备份和恢复数据 image.png 2、端口映射 -P 大写的P会随机映射一个49000-49900端口到内部容器开放的网络端口 -p ip:80:80 -p 80:80 docker port xxx #查看端口映射 3、容器互联(不用端口映射docker run -itd --name db mysql /bin/bash docker run -itd -P --name

    1K10编辑于 2022-05-19
  • 来自专栏运维博客

    kubernetes(四)之Docker存储

    docker存储 数据 为什么需要数据存储docker镜像由多个只读层叠加而成,启动容器时,docker会加载只读镜像层,并在镜像层添加一个读写层 如果运行中的容器修改了现有的一个已经存在的文件 关闭并重启容器,其数据不受影响,但是删除容器,则其更改将会全部丢失 存在的问题: 存储联合文件系统中,不易于宿主机访问 容器键数据共享不便 删除容器其数据会丢失 什么是 是容器上的一个或者多个目录 ,此类目录可以绕过联合文件系统,宿主机上的某个目录可以绑定(关联) 设置随机 [root@centos7-node1 ~]# docker run --name mybbox5 -it -v /mydata 绑定本地指定目录到容器的 特点: 删除容器之后本地目录不会被删除,数据还在 可以脱离容器的生命周期而存在 若有NFS存储的话,数据也可以脱离本机而存在 可以实现容器间数据的共享 ? 思路 这三个应用的容器在同一网络层 配置文件和数据文件需要和本地使用绑定存储 [root@centos7-node1 ~]# mkdir /data/volumes/mysql [root@centos7

    81720发布于 2020-09-23
  • Docker存储(Volume)核心概念、类型操作指南

    一、存储概念 什么是存储?   Docker 存储Docker 容器中用于持久化存储数据的独立文件系统区域。它独立于容器的联合文件系统,其生命周期可以完全独立于创建它的容器。 ,存储建立存储关系,这种方式极大解脱用户在使用时的耦合关系,缺陷是用户无法指定那些使用目录,临时存储比较适合; 绑定数据(bind mount)。 2.1 管理 创建 方法一:Volume命令操作 命令清单: docker volume create:创建存储 docker volume inspect:显示存储详细信息 docker volume 注意2:容器删除的数据不会删除,除非用 docker volume rm 删除。因为本身就是来保护数据的。 注意3:共享。不同容器可以使用同一个,解决了容器容器之间数据交互繁琐的问题。 配置文件、源代码、日志文件(在主机和容器间共享) 备份迁移 使用 docker volume 命令操作,相对简单 需要操作主机文件系统,复杂度高 2.3 临时数据 临时 tmpfs:临时数据位于内存中

    60310编辑于 2025-11-15
  • 来自专栏零基础使用Django2.0.1打造在线教育网站

    Docker端口映射容器互联

    Docker端口映射容器互联 写在前面 在前面我们已经掌握了单个容器的管理操作,但是在实际工作中很少是只运行一个容器,而更多的是需要运行多个容器进行协作的情况,因此就需要多个容器之间能够互相访问到对方的服务 ,那么本篇文章就来学习Docker端口映射容器互联相关的知识,注意本文所提到的宿主机是指VMware虚拟机,而非本地的Windows系统主机。 端口映射 Docker除了通过网络访问外,还提供了其他两个非常方便的功能来满足服务访问的基本需求,一是允许映射容器内应用的服务端口到本地宿主机端口;二是使用互联机制来实现多个容器间通过容器名来快速访问。 :32768 或者查看容器的5000端口映射信息: [root@envythink ~]# docker port eyou 5000 127.0.0.1:32768 如果想查看容器的完整详细信息, 小结 本篇文章主要学习了Docker容器服务的两大基本操作,包括基础的端口映射机制和容器互联机制。其实Docker也支持Linux系统自带的网络服务和功能。

    7K10发布于 2020-12-29
  • 来自专栏JAVA杂谈

    剖析 Docker 持久化数据存储的底层原理

    如果想要实现远程访问,需要借助网络存储来实现。Docker 的 local 存储模式并未提供配额管理,因此在生产环境中需要手动维护磁盘存储空间。 容器容器之间数据共享 那如何实现容器容器之间数据共享呢?下面我举例说明。 首先使用docker volume create命令创建一个共享日志的数据。 主机容器之间数据共享 Docker 的目录默认在 /var/lib/docker 下,当我们想把主机的其他目录映射到容器内时,就需要用到主机容器之间数据共享的方式了,例如我想把 MySQL 容器中的 volume create 创建数据,然后需要共享数据的容器启动的时候都使用mount参数挂载相同的数据 主机容器之间的数据共享 docker run -v 可以映射主机目录到容器中 那你了解完的相关操作后 结语 到此,相信你已经了解了 Docker 使用做持久化存储的必要性,也了解 Docker 的常用操作,并且对的实现原理也有了较清晰的认识。

    2K60发布于 2021-04-23
  • 来自专栏Ken的杂谈

    Docker入门:端口映射容器互联

    一、前言 通常我们的应用都需要对外提供访问,另外也往往不是独立运行的,基本都会使用MySQL、Redis等数据库存储数据,并且应用之间也会存在互相访问的情况,本文主要介绍容器端口的开放绑定,以及基于Docker Network的容器互联 1、本文主要内容 使用Golang构建HTTP Server,并使用Redis进行访问计数 Docker 镜像开放端口及端口映射 Docker Network介绍及使用 基于 build -t helloworld . 3、运行&测试 创建并运行容器并将本机的9000端口映射到容器端口8000 docker run -d --name myhello -p 9000:8000 ---ken.io 三、容器互联 Docker提供了网络模块,可以方便地创建、管理虚拟网络,以实现容器宿主机,以及容器跟容器之间的网络通信,Docker network提供了bridge、host、overlay 入门:使用数据、文件挂载进行数据存储与共享 下一篇:Docker入门:使用Docker Compose进行容器编排

    1.2K20编辑于 2023-04-07
  • Docker 数据容器互联

    Docker端口映射 在实践中,经常会碰到需要多个服务组件容器共同协作的情况,这往往需要多个容器之间有能够互相访问到对方的服务,Docker提供了两个很方便的功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机 ◆从外部访问容器应用◆ 随机分配端口: 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射.当使用-P(大写的)标记时,Docker会随机映射一个49000~49900 </body></html> ◆映射所有接口地址◆ 映射指定端口: 格式将容器的80端口映射到本机的80端口. ◆映射到指定地址◆ 映射到指定地址的指定端口: 将容器中的80端口映射到本地指定IP地址上去. 拓展实战例子 ◆Apache◆ Apache是世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速、

    75740编辑于 2022-12-28
  • 来自专栏陶士涵的菜地

    docker端口映射目录共享运行PHP

    当我们在容器中安装完环境以后,需要在宿主机的端口上访问到容器中的端口,这时候就需要做端口映射。 之前运行镜像的时候,没有做端口映射,在容器中安装完软件,想再做端口映射,需要把这个运行中的容器提交为一个新的镜像 docker commit 容器id 镜像名 提交完新镜像后,再次运行镜像为容器, 这里就需要使用-p和-v参数进行端口映射目录共享的设置 我自己所运行的所有命令: docker ps -a docker commit a84404b938fe lnmp_tsh docker image ls docker run -it -p 80:80 -p 3306:3306 -v /var/www/html/:/var/www/html/ lnmp_tsh bash 查看容器ID,提交容器成新的镜像 ,查看镜像,运行端口映射和目录共享到新的容器 ?

    2.5K20发布于 2019-09-30
  • 来自专栏陶然同学博客

    Docker】容器操作数据(二)

    将宿主机端口容器端口映射,冒号左侧是宿主机端口,右侧是容器端口 -d:后台运行容器 nginx:镜像名称,例如nginx 这里的-p参数,是将容器端口映射到宿主机端口。 --name:指定容器名称 -p:指定端口映射 -d:让容器后台运行 查看容器日志的命令: docker logs 添加 -f 参数可以持续查看日志 查看容器状态: docker 这就是因为容器数据(容器内文件)耦合带来的后果。 要解决这个问题,必须将数据容器解耦,这就要用到数据了。 小结: 数据的作用: 将容器数据分离,解耦合,方便操作容器内数据,保证数据安全 数据操作: docker volume create:创建数据 docker volume ls:查看所有数据 volume名称:容器内目录 -v 宿主机文件:容器内文 -v 宿主机目录:容器内目录 数据挂载目录直接挂载的 数据挂载耦合度低,由docker来管理目录,但是目录较深,不好找

    73640编辑于 2023-02-24
  • 来自专栏猫头虎博客专区

    Docker 从入门到实战教程(三):Docker 容器网络数据管理 | Docker 网络配置、数据使用持久化存储

    Docker 从入门到实战教程(三):Docker 容器网络数据管理 | Docker 网络配置、数据使用持久化存储 摘要: 本文是《Docker 从入门到实战》的第三篇,全面介绍了 Docker 若要让容器外部网络(如外部数据库、Web 服务等)进行通信,可以使用端口映射或配置 Overlay 网络。 端口映射示例: docker run -d -p 8080:80 --name mycontainer nginx 该命令将容器的 80 端口映射到宿主机的 8080 端口。 为了避免这一问题,Docker 提供了多种持久化存储的方式,确保容器数据在容器生命周期之外得以保存。 3.1 使用数据实现持久化 数据Docker 提供的持久化存储方式。 3.2 使用外部存储 除了 Docker 的本地数据,用户也可以使用外部存储系统(如 NFS、Ceph、Amazon EBS 等)来实现持久化存储。这适用于需要跨多个主机或高可用的场景。

    80520编辑于 2025-04-10
  • 深入理解 Linux 存储文件系统:挂载、LVM Docker 管理全解析

    在我们的场景里,三台 AlmaLinux 主机(master、node1、node2)上用 Docker 运行 MySQL 主从容器,主机文件系统、管理、容器存储驱动之间就像房东、仓库管理员和租户,缺少明确分工就会闹乌龙 Docker 存储驱动(overlay2 等) 类似租户在房间里贴的透气墙纸,隔离不同容器的读写层。 Docker (Volume) 就是租户从公共仓库(宿主机)申请的专属储物箱,用来持久化数据。 它们的关系就像:房东(宿主机 FS)提供房间,仓库管理员(LVM)动态分配仓储空间,租户(Docker 容器)用不同存储驱动隔离,租户的数据(数据库文件)放在他们专属的储物箱()里。 5.3 查看和清理 # 列出所有 docker volume ls # 查看详情 docker volume inspect mysql-data # 删除未使用的 docker volume 六、把 LVM Docker 结合:高级玩法 如果你想把逻辑直接当作 Docker 的底层存储,可以: 在宿主机挂载逻辑已在四步挂载到 /data/mysql。

    28900编辑于 2025-06-09
  • 来自专栏AI SPPECH

    Kubernetes 存储:PVC StorageClass 最小示例

    一句话承诺:两个 YAML 跑通 Pod 动态存储挂载。 name: fast provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer PVC 常见坑替代法 坑:PVC Pending。替代:检查 StorageClass PV 供给。 坑:权限不匹配。替代:fsGroup 设置权限。 下一篇预告 K8s 滚动更新回滚:部署策略命令清单。

    21810编辑于 2025-11-18
  • 来自专栏非著名运维

    Docker容器的数据备份恢复

    数据的备份恢复 -备份- 注: -v指定数据时,如果数据不存在则自动创建。 //可以看到新增的文件夹文本文件 3.数据备份 命令详解:  使用nginx基础镜像新建一个临时的容器(不放入后台运行),数据共享容器nginx的数据web,并且-v 指定将本机的/root/test webdata数据的数据,再启动一个新容器挂载webdata数据查看数据 [root@localhost ~]# docker run -itd --name webtest -v webdata: 中的数据 ---- Mysql容器数据的备份恢复问题? 问题:    使用上面nginx数据备份恢复的方法对mysql容器数据卷进行备份恢复,在备份恢复的过程都能够看到新建的test库,但是恢复之后数据库中就是没有test库,不知道是什么问题?

    1.6K30编辑于 2022-06-22
  • 来自专栏用户7721898的专栏

    这就是你日日夜夜想要的docker!!!---------Docker常规操作--端口映射、数据管理 以及容器互联

    当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-p或-P参数来指定端口映射。 当使用-P(大写P)标记时,Docker会随机映射一个端口到内部容器开放的网络端口 1、-P随机端口 通过docker ps命令查看具体端口映射 [root@localhost opt]# docker 6、查看端口映射情况 [root@localhost opt]# docker port nginx_1 80/tcp -> 0.0.0.0:32769 [root@localhost opt]# docker @localhost opt]# docker port nginx_5 80/tcp -> 192.168.110.133:32768 二、数据数据容器 使用容器时会产生一些日志或其他文件,或是我们需要把容器内的数据进行备份 容器中管理数据主要有两种方式: 数据:挂载宿主系统的存储空间 数据容器:挂载容器的存储空间 如果用户需要在容器之间共享一些持续更新的数据,最简单的方式是使用数据容器,数据容器其实是一个普通的容器

    1.6K20发布于 2020-09-22
  • 来自专栏thinkphp+vue

    云原生存储详解:容器存储 K8s 存储

    相关文章推荐: 云原生存储详解:云原生应用的基石 云原生存储详解:容器存储 K8s 存储 云原生存储的两个关键领域:Docker 存储、K8s 存储Docker 存储:容器服务在单节点的存储组织形式 Docker数据插件 Docker 数据实现了将容器外部存储挂载到容器文件系统的方式。为了扩展容器对外部存储类型的需求,docker 提出了通过存储插件的方式挂载不同类型的存储服务。 Docker Daemon Volume driver 通信方式有: Sock文件:linux 下放在/run/docker/plugins 目录下 Spec文件:/etc/docker/plugins K8s 是一个容器编排系统,其关注的是容器应用在整个集群的管理和部署形式,所以在考虑 K8s 应用存储的时候就需要从集群角度考虑。K8s 存储定义了在 K8s 系统中应用存储的关联关系。 其设计意图是:存储应用编排分离,将存储细节抽象出来并实现存储的编排(存储)。这样 K8s 中存储对象独立于应用编排而单独存在,在编排层面使应用和存储解耦。

    2.3K41发布于 2021-05-18
  • 来自专栏Java Tale

    Docker-容器数据DockerFile解析(三)

    Docker Docker容器数据 是什么? 先来看看Docker的理念: 将运用运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的 容器之间希望有可能共享数据 Docker容器产生的数据,如果不通过 就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性: 的设计目的就是数据的持久化 (5)执行dockerfile中的下一条指令直到所有指令都执行完成 总结 从应用软件的角度来看,Dockerfile、Docker镜像Docker容器分别代表软件的三个不同阶段, * Dockerfile Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署运维,三者缺一不可,合力充当Docker体系的基石。

    1.8K20发布于 2021-06-03
  • 来自专栏yuyy.info技术专栏

    十、应用存储和持久化数据存储快照拓扑调度

    提高数据操作的容错性 支持快速 restore 存储快照用户接口-Snapshot K8s 中通过 pvc 以及 pv 的设计体系来简化用户对存储的使用,而存储快照的设计其实是仿照 pvc & pv 当用户需要存储快照的功能时,可以通过 VolumeSnapshot 对象来声明,并指定相应的 VolumeSnapshotClass 对象,之后由集群中的相关组件动态生成存储快照以及存储快照对应的对象 创建存储快照 恢复存储快照 根据 PVC 创建 PV 对象时,对应的存储数据是从 VolumeSnapshot 关联的 VolumeSnapshotContext restore 出来的 拓扑 Topolopy 这里创建存储跟之前讲解的 csi-provisioner 有一个不太一样的地方,就是它里面还指定了 Snapshot 的 ID,当去云厂商创建存储时,需要多做一步操作,即将之前的快照数据恢复到新创建的存储中 之后流程返回到 csi-provisioner,它会将新创建的存储的相关信息写到一个新的 PV 对象中 新的 PV 对象被 PV controller watch 到它会将用户提交的 PVC PV

    99530编辑于 2022-09-21
  • 来自专栏Ken的杂谈

    Docker入门:使用数据、文件挂载进行数据存储与共享

    提供HTTP服务,将日志写入磁盘,并制作镜像 数据绑定、文件挂载、tmpfs缓存挂载优点特性介绍 将数据(Volume)绑定到容器指定目录,实现容器数据的持久化存储与共享 将宿主机文件/目录挂载( 7.87 本文中使用命令如非专门说明,均在Windows cmd中执行,如使用macOS,可以替换为对应命令操作 二、数据挂载 1、数据(Volume) 数据(Volume)是Docker官方推荐的数据持久化存储方式 ,也是目前最成熟的Docker持久化存储方案,它具备以下优点/特性 数据比绑定挂载(Bind mounts)更容易备份或迁移 数据可以通过 Docker CLI 命令或 Docker API 进行管理 数据适用于 Linux 和 Windows 容器 数据支持存储在远端主机上,并支持加密存储 数据的数据不支持在宿主机上直接查看或管理 数据可以在宿主机上预先占用空间,以免磁盘被占用导致容器无法正常运行 ---- 系列名称:Docker入门教程 上一篇:Docker入门:使用Dockerfile构建Docker镜像 下一篇:Docker入门:端口映射容器互联

    6.2K20编辑于 2023-04-07
领券